.TH MKTEXTFM 1 "30 January 2020" "TeX Live" "User Commands"
.\"=====================================================================
.if t .ds MF Metafont
.if n .ds MF Metafont
.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
.if n .ds TX TeX
.\"=====================================================================
.SH NAME
mktextfm \- create a TFM file for a font
.SH SYNOPSIS
.B mktextfm
.RI [ options ]
.I font
.\"=====================================================================
.SH DESCRIPTION
.B mktextfm
is used to generate a tfm file from the \*(MF source files for
.IR font ,
or 
.BR hbf2gf (1),
if possible.  If
.I destdir
is given, the generated file will be installed there, otherwise a
(rather complicated) heuristic is used.  If the tfm file already exists
in the destination location, this is reported and nothing is done.
.PP
If a GF (Generic Font) bitmap file is also generated, as is typical with
\(*MF, it is converted to PK (Packed Font) and installed similarly.
.PP
The full pathname of the generated file is printed on standard output.
.PP
If available, the
.BR mf-nowin (1)
variant of \*(MF is used to generate fonts to avoid the possibility of
online display.
.PP
.B mktextfm
is typically called by other programs, via Kpathsea, rather than from
the command line.
.\"=====================================================================
.SH OPTIONS
.B mktextfm
accepts the following options:
.TP
.BI --destdir \ dir
A directory name. If the directory is absolute, it is used as-is.
Otherwise, it is appended to the root destination directory set in the
script.
.TP
.B --help
Print help message and exit successfully.
.TP
.B --version
Print version information and exit successfully.
.\"=====================================================================
.SH ENVIRONMENT
One environment variable is specific to
.BR mktextfm :
.BR MF_MODE_EXTRA_INFO .
If this is set to a non-empty value, a \*(MF macro
.B mode_include_extra_info
will be invoked when the font is made.  The standard
.B modes.mf
file defines this, as of modes.mf version 4.0, released in 2020.
This causes the so-called Xerox-world information, notably including the
.B CODINGSCHEME
for the font, to be included in the tfm file. (This is not done by
default since it is too intrusive to redefine the necessary primitives,
per Don Knuth.) The
.BR mftrace (1)
program, for example, can use this to get a clue about the font
encoding, although the information is not always perfectly definitive or
unambiguous.
.PP
For more about the encodings of \*(MF fonts, see the section ``Bitmap
font encodings'' in the Dvips manual (e.g.,
https://tug.org/texinfohtml/dvips.html).
.PP
The many other environment variables and various configuration files
that control a \*(TX system also affect the behavior of
.BR mktextfm ,
as usual.
.\"=====================================================================
.SH "SEE ALSO"
.BR mf (1),
.BR mktexmf (1),
.BR mktexpk (1).
.\"=====================================================================
.SH "REPORTING BUGS"
Report bugs to: tex-k@tug.org (https://lists.tug.org/tex-k)
.br
\*(TX Live home page: https://tug.org/texlive/
